Intermix v0.6.0 Released

Intermix Version 0.6.0 introduces preset management for plugins.

Plugins can save and restore properties defined in their action definitions. These property collections are called presets. A preset can be stored directly by name or in a so called slot. Technically there is no need for slots but it could be convenient to handle presets in a similar way like in classic digital audio gear.

Saving and loading presets is as simple as calling an action creator (in the examples we use a fictional plugin called synth):

synth.actionCreators.savePreset("myPreset");
synth.actionCreators.loadPreset("myPreset");

Slots don't save or load presets directly. They just store a preset name that was saved before:

synth.actionCreators.presetSlotNumber(1); // arm slot number 1
synth.actionCreators.presetSlotName("myPreset"); // write plugin-name to slot
synth.actionCreators.savePreset("myOtherPreset");
synth.actionCreators.presetSlotNumber(5);
synth.actionCreators.presetSlotName("myOtherPreset");

Now we have preset-references in slot 1 and 5. To "load" one of these presets we have to retrieve its name and then load the preset like in the first example:

const state = intermix.getState()[synth.uid]; // get current state of the plugin
const presetName = state.presetSlots[5]; // get the name stored in slot 5
synth.actionCreators.loadPreset(presetName); // finally load the preset

Another noticable change in 0.6.0 is that ID placeholders were renamed from {UID} to <UID> since curly braces have a meaning in OSC semantics. Other small changes are listed in the Changelog.